import { test } from "node:test"; import assert from "node:assert/strict"; import { isPerfectSquare } from "../src/isPerfectSquare.js"; test("isPerfectSquare identifies perfect squares", () => { assert.strictEqual(isPerfectSquare(0), true); assert.strictEqual(isPerfectSquare(1), true); assert.strictEqual(isPerfectSquare(4), true); assert.strictEqual(isPerfectSquare(9), true); assert.strictEqual(isPerfectSquare(16), true); assert.strictEqual(isPerfectSquare(25), true); assert.strictEqual(isPerfectSquare(100), true); }); test("isPerfectSquare rejects non‑perfect squares and invalid inputs", () => { assert.strictEqual(isPerfectSquare(-1), false); assert.strictEqual(isPerfectSquare(2), false); assert.strictEqual(isPerfectSquare(3), false); assert.strictEqual(isPerfectSquare(5), false); assert.strictEqual(isPerfectSquare(7), false); assert.strictEqual(isPerfectSquare(10), false); assert.strictEqual(isPerfectSquare(2.5), false); assert.strictEqual(isPerfectSquare(NaN), false); assert.strictEqual(isPerfectSquare(Infinity), false); assert.strictEqual(isPerfectSquare(-Infinity), false); });